package com.wu.pojo.reqeust.sys;

import com.wu.pojo.reqeust.BaseRequest;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.List;

@Data
public class UserEditRequest extends BaseRequest {

    @ApiModelProperty(value = "id")
    @NotNull(message = "id为空")
    private Long id;
    
    /**
     * 真实姓名
     */
    @ApiModelProperty(value = "真实姓名")
    @Size(max = 32, message = "真实姓名最多32字")
    private String realName;


    @ApiModelProperty(value = "性别，0 未知，1男 ，2女")
    private Integer gender;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号")
    @Size(max = 11, min = 11, message = "手机号有误")
    @Pattern(regexp = "[0-9]*", message = "手机号有误")
    private String phone;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号")
    @Size(max = 18, min = 18, message = "身份证长度有误")
    private String idCard;

    /**
     * 头像
     */
    @ApiModelProperty(value = "头像")
    private String portrait;

    /**
     * 住址
     */
    @ApiModelProperty(value = "住址")
    @Size(max = 128, message = "住址最多128字")
    private String address;

    /**
     * 户籍地
     */
    @ApiModelProperty(value = "户籍地")
    @Size(max = 128, message = "户籍地最多128字")
    private String householdRegister;

    @ApiModelProperty(value = "户籍地code")
    private String householdRegisterCode;
    @ApiModelProperty(value = "住址code")
    private String addressCode;

    /**
     * 入职日期
     */
    @ApiModelProperty(value = "入职日期 格式yyyy-MM-dd")
    private java.sql.Date recruitDate;

    @ApiModelProperty(value = "部门id")
    private Long departmentId;

    @ApiModelProperty(value = "职位id集合")
    private List<Long> positionIds;

    @ApiModelProperty(value = "角色id集合")
    private List<Long> roleIds;

    @ApiModelProperty(value = "直属上级id")
    private Long superiorId;
}
